<!-- 标题 -->

<template>
  <div class="QuestionnaireList-OurTitle QuestionnaireList-flex">
    <FormTextarea :one="obj" bind="title" :rows="[1, 10]" noCount @blur="toBlur" />

    <FormSwitch :one="obj" bind="required" initTrue trueText="必答" falseText="选答" :switchWidth="68" flex0 />

    <div v-if="!isShow">
      <BtnSuccess title="复制" class="flex0" plain green @click="toCopy" />
    </div>

    <div v-if="!isShow">
      <BtnDanger title="删除" class="flex0" plain red @click="toDel" />
    </div>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import props from '../../props'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'OurTitle',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 属性注册 (抽取以便查阅)
   */
  props,

  /**
   * 创建完成 (先抽取再调用)
   */
  created() {
    this.toBlur()
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 失去焦点
     */
    toBlur() {
      const { obj, DICT } = this
      if (!obj.title) obj.title = CORE.dict(DICT.TYPE, obj.type)
    },

    /**
     * 复制
     */
    toCopy() {
      this.one.questionList.splice(this.index + 1, 0, {
        ...CORE.clone(this.obj),
        id: '',
        key: `${Date.now()}`,
      })
    },

    /**
     * 删除
     */
    async toDel() {
      await CORE.CONFIRM.warning('确定要删除本问题吗？', '删除问题')
      this.one.questionList.splice(this.index, 1)
    },
  },
}
</script>
